Typical data center networks include multiple interconnected devices with heterogeneous configurations, wherein compatibility issues may arise. For example, a storage fabric switch with a firmware level may not be compatible with a driver version on a host server attached to the switch. Compatibility requirements can impose a significant challenge to system administrators (admins) that are planning system upgrades. For instance, if the above-noted storage fabric switch in the network has a firmware level that is below the recommended level, a system upgrade is required to change the firmware level to the desired level. However, such a system change may introduce compatibility issues because the new firmware level may not be compatible with the configuration setting of an adjacent device. Therefore, an additional system upgrade (for the adjacent device which becomes incompatible after upgrading the first device) needs to be executed to maintain the network-wide compatibility requirement.
Accordingly, challenges exist in capturing the complexity of a single system upgrade which prevents the system admin from performing a “what-if” analysis to plan system upgrades. Additionally, interconnectivity and interdependency among devices complicate the problem significantly, and attempts at obtaining a network-wide compatible configuration solution and/or upgrade plan currently include manual checking and enumerations. Further, the complexity of such manual processes grow exponentially when more devices are interconnected and more firmware upgrade options are available in the data center devices, due to the combinatorial nature of such additions.
Consequently, a need exists for determining feasibility of a network-wide compatible configuration, given network and compatibility information.